上學期有學過許多關於資訊安全技術有關的課程,所以今天想要分享跟網頁安全有關的相關技術!
以下是我未來五天的目標:
1.介紹HTTP流程及風險以及改善措施
2.細談中間人攻擊及如何防護?
3.如何加密且各個憑證所包含含義
4.其他上鎖技術
5.完成簡易的加密網站
未來五到三十天會做其他關於網站設計及科技技術的運用。
首先先讓我們來看什麼是HTTP
HTTP(超文本傳輸協定)是一種應用層協定,負責在網絡上傳輸網頁和其他網絡資源。它具有以下特性:
可適用於任何網際網路協定或網絡
HTTP 能夠在任何具備可靠傳輸功能的網絡上運作,通常在 TCP/IP 協定族中使用 TCP 作為其傳輸層。
依賴底層協定的可靠性
HTTP 假定其底層協定(如 TCP)可以提供可靠的傳輸能力,確保資料在傳輸過程中不會丟失或損壞。
發起請求
HTTP 客戶端(如瀏覽器)首先發起請求,並與伺服器建立 TCP 連線。預設情況下,HTTP 使用 80 埠與伺服器進行通信。
伺服器接收並處理請求
伺服器會監聽來自客戶端的請求。一旦收到請求,伺服器將根據請求內容進行處理,並生成回應。
返回回應
伺服器將生成的回應通過 TCP 連線返回給客戶端。這個回應通常包含狀態碼(如 "HTTP/1.1 200 OK")、狀態描述以及請求的內容(如文件或錯誤訊息)。
+----------------------------+
| HTTP 客戶端 (如瀏覽器) |
+------------+---------------+
|
| 1. 發送請求 (GET/POST)
V
+----------------------------+
| 建立 TCP 連線 |
| (預設連接伺服器埠號: 80) |
+------------+---------------+
|
V
+----------------------------+
| HTTP 伺服器接收請求 |
+------------+---------------+
|
| 2. 處理請求並生成回應
V
+----------------------------+
| 伺服器返回回應 (狀態碼、 |
| 狀態描述、可選的內容) |
+------------+---------------+
|
V
+----------------------------+
| HTTP 客戶端接收回應 |
+----------------------------+
HTTP 雖然簡單且廣泛使用,但它在安全性上存在以下漏洞:
資料明文傳輸
在傳輸過程中,資料未經加密,容易被攔截並讀取。
中間人攻擊風險
由於資料在網絡中是以明文形式傳輸,攻擊者可以通過中間人攻擊(Man-in-the-Middle Attack)來攔截、篡改甚至偽造通信內容。
為了解決 HTTP 存在的安全問題,許多網站逐步採用了 HTTPS(具備安全層的 HTTP)。HTTPS 通過 SSL/TLS 協議對數據進行加密,確保通信的機密性、完整性和身份驗證,從而有效地增強了網絡通信的安全性。